// Dokumen JavaScript

$(document).ready(function(){
    
    $(function(){
        $('button').hover(
            function() {
                $(this).addClass('ui-state-hover');
            }, 
            function() {
                $(this).removeClass('ui-state-hover');
            }
            );
    });
    
    $("#status").keyup(function(e){
        var isi = $(e.target).val();
        $(e.target).val(isi.toUpperCase());
    });
	
    $("#tampil_data").load('modul/tahunajaran/tampil_data.php');
	
    // Set click handler for button Simpan
    $('#simpan').click(function(){							
        addNewTahunAjaran();
    });
    
    // Buat dialog konfirmasi sebelum mengubah status aktif dari Tahun ajaran
    $('#dlg_konfirmasi_aktif').dialog({
        autoOpen: false,
        show: "blind",
        hide: "blind",
        width: 300,
        modal	: true,
        resizable:false,
        buttons: {
            "Ya": function() { 
                if (tandaHapus) {
                    hapusTahunAjaran(idTahunAjaran);
                    $(this).dialog("close"); 
                } else {
                    ubahStatusTahunAjaran(idTahunAjaran);
                    $(this).dialog("close"); 
                }
            },
            "Tidak": function() { 
                $(this).dialog("close"); 
                bersihkanPesan('#messages');
            } 
        },
        open: function() {
            pesanWarning('#dlg_message', 'Apakah Anda yakin?');
        }
    });
    
});

var idTahunAjaran;
var tandaHapus;

// Tambahkan Tahun ajaran baru melalui url simpan.php
function addNewTahunAjaran() {
    
    var tahun = $('#tahun').val();
    var status = $('#status').is(':checked') ? 1 : 0;

    var output = validasiTahunAjaran(tahun);
    if (output.valid) {

        $.ajax({
            type	: "POST",
            url         : "modul/tahunajaran/simpan.php",
            data	: "tahun=" + tahun + "&status=" + status,
            success	: function(data){
                console.log(data);

                $("#tampil_data").load('modul/tahunajaran/tampil_data.php'); 

                if (data.toLowerCase().indexOf('data') != 0) {
                    // Bukan data sukses
                    pesanWarning('#messages', data);
                } else {
                    pesanInfo('#messages', data);
                }
            }
        });

    } else {
        pesanError('#messages', output.message);
    }

}

// Siapkan data sebelum mengedit atau menghapus Tahun ajaran
function persiapanUbahHapus(id, active, hapus) {
    console.log('id: ' + id);
    console.log('active: ' + active);
    console.log('hapus: ' + hapus);
    
    idTahunAjaran = id;
    tandaHapus = hapus;
    
    if ((tandaHapus) && (active == 1)) {
        pesanError('#messages', 'Tahun ajaran dengan status aktif tidak dapat dihapus');
        return;
    }
    
    $('#dlg_konfirmasi_aktif').dialog('open');
}

// Validasi tahun ajaran
function validasiTahunAjaran(ta) {
    var output = {
        'valid': true, 
        'message': ''
    };
    
    // Tahun ajaran harus dipisahkan tanda '/'
    if (ta.indexOf('/') == -1) {
        output.valid = false;
        output.message = 'Format tahun ajaran tidak sesuai';
        return output;
    }
    
    var tahun = ta.trim().split('/');
    console.log('tahun[0]: ' + tahun[0]);
    console.log('tahun[1]: ' + tahun[1]);
    
    var tahun1 = tahun[0].trim();
    var tahun2 = tahun[1].trim();
    
    // Validasi panjang angka tahun
    if ((tahun1.length != 4) || (tahun2.length != 4)) {
        output.valid = false;
        output.message = 'Angka tahun ajaran harus empat digit';
        return output;
    }
    
    // Tahun akhir ajaran harus lebih besar dari tahun awal ajaran
    if (Number(tahun1) > Number(tahun2)) {
        output.valid = false;
        output.message = 'Tahun akhir ajaran harus lebih besar dari tahun awal ajaran';
        return output;
    }
    
    // Selisih tahun ajaran harus sama dengan 1
    if (Math.abs(Number(tahun2) - Number(tahun1)) != 1) {
        output.valid = false;
        output.message = 'Selisih tahun ajaran harus sama dengan satu';
        return output;
    }
    
    console.log(output);
    return output;
}

// Mengubah status aktif dari Tahun ajaran melalui url simpan.php
function ubahStatusTahunAjaran(id) {
    $.ajax({
        type	: "GET",
        url	: "modul/tahunajaran/simpan.php?mode=ubahstatus&id=" + id,
        success	: function(data){
            $("#tampil_data").load('modul/tahunajaran/tampil_data.php'); 
            pesanInfo('#messages', data);
        }
    });
}

// Hapus Tahun ajaran menggunakan id dari persiapanUbahHapus () melalui url hapus.php
function hapusTahunAjaran(id) {
    $.ajax({
        type	: "POST",
        url	: "modul/tahunajaran/hapus.php",
        data	: "id=" + id,
        success	: function(data){
            $("#tampil_data").load("modul/tahunajaran/tampil_data.php");
            if (data.toLowerCase().indexOf('data') != 0) {
                // Bukan data sukses
                pesanError('#messages', data);
            } else {
                pesanInfo('#messages', data);
            }
        }
    });
}